<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script>
            //1.实例一:回调地狱
            // setTimeout(function(){
            //     console.log(111);
            //     setTimeout(function(){
            //         console.log(222);
            //         setTimeout(function(){
            //             console.log(333);
            //         },3000)
            //     },2000)
            // },1000)
            //     function one(){
            //      setTimeout(function(){
            //         console.log(111);
            //         iterator.next();
            //     },1000);
            //     }
            //    function two(){
            //      setTimeout(function () {
            //         console.log(222);
            //         iterator.next();
            //         }, 2000);
            //     }
            //     function three(){
            //          setTimeout(function () {
            //         console.log(333);
            //         iterator.next();
            //         }, 3000);
            //     }
                                           
            // function *gen(){
            //     yield one()
            //     yield two()
            //     yield three()
            //     console.log(444);
            //       };
            // let iterator = gen();
            // iterator.next();

            //2、实例2:带参数的回调
            function getUsers(){
                setTimeout(function(){
                    let data = "用户数据";
                    iterator.next(data);
            },1000);
            };
            function getOrders() {
                    setTimeout(function () {
                        let data = "订单数据";
                        iterator.next(data);
                    }, 1000);
            };
            function getGoods() {
                    setTimeout(function () {
                        let data = "商品数据";
                        iterator.next(data);
                    }, 1000);
            };

            function*gen(){
                console.log("第一次调用next方法");
               let users = yield getUsers()
               console.log(users);
               let orders = yield getOrders()
               console.log(orders);
               let goods = yield getGoods()
               console.log(goods);
            };
            const iterator = gen();
            iterator.next();
        </script>
    </body>
</html>